package com.baidu.job;

import com.baidu.constant.QiNiuUtils;
import com.baidu.dao.SetmealDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.List;

@Component
public class ClearImgJob {

    private static final Logger log = LoggerFactory.getLogger(ClearImgJob.class);

    @Autowired
    private SetmealDao setmealDao;

    /**
     * 清理7牛云上垃圾图片
     */

    public void clean7NiuImgJob(){
        log.info("开始执行清理7牛上的垃圾图片...");
        // 查询七牛上所有tup
        List<String> imgIn7Niu = QiNiuUtils.listFile();
        log.info("七牛上有{}张图片", imgIn7Niu.size());

        //- 查询数据库中的所有图片
        List<String> imgInDB = setmealDao.getImgs();
        System.out.println(imgInDB);
        log.info("数据库上有{}张图片",imgInDB==null?0:imgInDB.size());

        //- 七牛上的图片集合减去数据库的图片
        imgIn7Niu.removeAll(imgInDB);
        log.info("需要清理的垃圾图片共有{}张",imgIn7Niu.size());

        //- 调用七牛工具删除垃圾图片
        String[] imgNeed2Delete = imgIn7Niu.toArray(new String[]{});
        QiNiuUtils.removeFiles(imgNeed2Delete);

        log.info("清理7牛上垃圾图片任务执行完毕....");
    }
}
